Complete Parallelization of Computations: Integration of Data Partitioning and Functional Parallelism for Dynamic Data Structures
نویسندگان
چکیده
Complete Parallelization of Computations: Integration of Data Partitioning and Functional Parallelism for Dynamic Data Structures J.C. Browne, Dwip Banerjee1 Department of Computer Sciences University of Texas Austin, Texas Abstract: This paper presents a parallel programming system which i) supports complete parallelization of array oriented computations through a coherent integration of data partitioning parallelization and functional decomposition based parallelization and ii) implements a declarative representation of operations over distributed dynamic arrays. The conceptual framework for this integration is a generalized dependence graph model of parallel computation. The properties of the programming system are illustrated by two examples: a red/black parallel solver for linear systems and an h-adaptive finite element algorithm.
منابع مشابه
A PLDS: Partitioning Linked Data Structures for Parallelism
Recently, parallelization of computations in the presence of dynamic data structures has shown promising potential. In this paper, we present PLDS, a system for easily expressing and efficiently exploiting parallelism in computations that are based upon dynamic linked data structures. PLDS improves the execution efficiency by providing support for data partitioning and then distributing computa...
متن کاملAutomatic Parallelization of Irregular and Pointer-Based Computations: Perspectives from Logic and Constraint Programming
Abs t r ac t . Irregular computations pose some of the most interesting and challenging problems in automatic parallelization. Irregularity appears in certain kinds of numerical problems and is pervasive in symbolic applications. Such computations often use dynamic data structures which make heavy use of pointers. This complicates all the steps of a parallelizing compiler, from independence det...
متن کاملDesigning Parallel Sparse Matrix Algorithms beyond Data Dependence Analysis
Algorithms are often parallelized based on data dependence analysis manually or by means of parallel compilers. Some vector/matrix computations such as the matrix-vector products with simple data dependence structures (data parallelism) can be easily parallelized. For problems with more complicated data dependence structures, parallelization is less straightforward. The data dependence graph is...
متن کاملAtlas: a Dynamically Parallelizing Chip-multiprocessor for Gigascale Integration
Single-chip multiprocessors are an important research direction for future microprocessors. The stigma of this approach is that many important applications cannot be automatically parallelized. This chapter presents a single-chip multiprocessor that engages aggressive speculation techniques to enable dynamic parallelization of irregular, sequential binaries. Thread speculation (multiscalar exec...
متن کاملParallelizing irregular and pointer-based computations automatically: Perspectives from logic and constraint programming
Irregular computations pose some of the most interesting and challenging problems in automatic parallelization. Irregularity appears in certain kinds of numerical problems and is pervasive in symbolic applications. Such computations often use dynamic data structures, which make heavy use of pointers. This complicates all the steps of a parallelizing compiler, from independence detection to task...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996